using System;
using System.Collections.Generic;
using Taimila.Entify.Attributes;

namespace Taimila.Entify.UnitTests
{
	[Entity(Version=1.0)]
	public class AttributeTestEntity
	{
		[EntityProperty]
		public int BasicField
		{
			get;
			set;
		}
		
		[EntityProperty(Unique = true)]
		public int UniqueField
		{
			get;
			set;
		}
		
		[EntityProperty(PersistentName = "NamedField")]
		public int NamedField
		{
			get;
			set;
		}
		
		[EntityProperty(IndexName = "IndexName")]
		public int IndexField
		{
			get;
			set;
		}
		
		[EntityProperty(Relationship = true)]
		public ValidPersistentEntity SingleRelationField
		{
			get;
			set;
		}
		
		[EntityProperty(Relationship = true)]
		public List<ValidPersistentEntity> ManyRelationField
		{
			get;
			set;
		}
		
		#pragma warning disable
		[EntityValidator]
		private ValidationError ValidatorMethod()
		{
			return null;
		}
		#pragma warning enable
		
		public void NonValidatorMethod()
		{
			// Just an example.	
		}
	}
}
